package com.agile.leetcode.innerclass.partinnerclass;

/**
 * 局部内部类：
 * 1 在同一个外部类的成员方法中，不允许创建多个同名的局部内部类；
 * 外部类中的不同成员方法中可以定义相同名称的局部内部类，这些局部内部类可以名称相同、成员不同。
 * 2 局部内部类的成员方法访问局部内部类所在的外部类的成员方法中定义的局部变量，局部变量可以使用final修饰，也可以不使用final修饰 ，
 * 但是不论是否使用final修饰，对于局部内部类的成员方法均只能访问（读取），而不能设置（赋值）
 * 3 局部内部类中可以直接访问其所在的外部类的非静态的成员变量 和 静态的成员变量
 * 4
 *
 * @Author:ChenZhangKun
 * @Date: 2021/10/11 13:59
 */
public class Outer {
    private static Integer i = 5;
    private Integer j = 4;

    public void fuck() {
        System.out.println("fuck");
        /**
         * 创建局部内部类
         */
        class Inner {
            public void print() {
                System.out.println("局部内部类");
            }
        }
        // 只能在所有的成员方法里实例化局部内部类
        Inner inner = new Inner();
        inner.print();
    }

    public void print4() {

    }
}
